package com.hsj.mq.activemq;

import com.hsj.mq.Order2MQService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Service;

/**  使用ActiveMq
 *   1. 引入spring-boot-starter-activemq 的依赖
 *   2. 配置 active的 url
 *       spring:
 *          activemq:
 *             broker-url: tcp://localhost:1234
 *          jms:
 *             pub-sub-domain: true #是不是发布订阅模式
 *             template:
 *                default-destination: xxxx
 *   3. 使用 JmsMessagingTemplate的 方法 发收消息
 *
 */
@Service
public class Order2MQActiveImpl implements Order2MQService {

//    @Autowired
    private JmsMessagingTemplate messageingTemplate;

    @Override
    public void sendMessage2Mq(String id) {
        System.out.println("将 订单成功的消息 放到 消息队列"+id);
        messageingTemplate.convertAndSend("order.queue.id",id);  //转换并发送
    }

    @Override
    public String doMessage() {
        String id = messageingTemplate.receiveAndConvert("order.queue.id",String.class);  //接收并转换
        System.out.println("已完成 消息发送业务 id"+id);
        return id;
    }
}
